1. Field of the Invention
This disclosure relates to packet-switched communications systems. More particularly, this disclosure is directed to a dynamic threshold system and method for regulating the queue lengths in a shared-memory asynchronous transfer mode (ATM) switch.
2. Description of the Related Art
Communication systems often require optimal allocation of resources such as available memory or bandwidth for reliable and/or efficient communications or to maximize channel capacity. The conventional approach is to use all of the available memory or bandwidth, as memory and bandwidth are generally limited.
Advantages may be obtained by purposefully not utilizing a portion of the memory or bandwidth. For example, as described in E. L. Hahne et al., "DQDB Networks With and Without Bandwidth Balancing" IEEE TRANS ON COMMUNICATIONS, VOL. 40, NO. 7, pp. 1192-1204, a distributed queue dual bus (DQDB) network protocol implements bandwidth balancing to equalize throughput by allocating a small amount of bus bandwidth in order to facilitate coordination among nodes currently using that bus. A maximum permissible nodal throughput rate is proportional to the unused bus capacity.
In the field of switched broadband ISDN (BISDN), asynchronous transfer mode (ATM) packet switching may be implemented using a shared-buffer-memory-based architecture, where incoming packets destined for different output ports are buffered in queues corresponding to those ports and the queues share a common memory.
As memory is limited, various arrangements have been developed to maximize memory capacity and to address memory overflow. Such an arrangement is described in commonly assigned U.S. Pat. No. 5,233,606 to Pashan et al.
In a shared-memory ATM switch with no buffer management procedures, a small number of output port queues may occupy a large portion of memory, so that other output ports may not be able to acquire enough memory to function efficiently. The throughput of the starved output queues may thus be diminished and their packet loss rates increase. The resulting service is unfair, and overall system efficiency can also suffer.
By adapting the approach of purposefully not utilizing a portion of memory, in a manner similar to the E. L. Hahne reference above for bandwidth balancing, a fairer and overall more efficient system may be achieved.